#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;

void solve(int n)
{
	for(int i=2;i<=n;i++)
	{
		if(n%i==0)
		{
			int cnt=0;
			while(n%i==0)
			{
				n/=i;
				cnt++;
			}
			cout<<i<<' '<<cnt<<endl;
			if(n==1) break;
		}
	}
}

int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n=0;
		cin>>n;
		solve(n);
		cout<<endl;
	}

	return 0;
}

